package com.cheng.example.book.advise151.chap8.client120;


/**
 * 建议120：不使用stop方法停止线程
 *
 * (1)、stop方法是过时的：从Java编码规则来说，已经过时的方法不建议采用。
 * (2)、stop方法会导致代码逻辑不完整：stop方法是一种" 恶意 " 的中断，一旦执行stop方法，即终止当前正在运行的线程，不管线程逻辑是否完整，这是非常危险的。
 * (3)、stop方法会破坏原子逻辑
 *
 */
public class Client120 {

    public static void main(String[] args) {
        Thread thread = new Thread() {
            @Override
            public void run() {
                try {
                    // 子线程休眠1秒
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // 异常处理
                }
                System.out.println("此处是业务逻辑，永远不会执行");
            }
        };
        // 启动线程
        thread.start();
        // 主线程休眠0.1秒
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        // 子线程停止
        thread.stop();
    }


}
